package cn.hlife.com.hlfhaemocyte.measure;

/**
 * Created by Administrator on 2017/6/21.
 */

public interface IMersurePrecentor {

    /**
     * 过滤测量数据
     */
    void filtrateMeasureData(String value, int measureMode);

//    /**
//     * 计算  红细胞 包细胞 血小板的数量
//     */
//    void calculateCellNumber(byte[] byteArray);

    /**
     * 计算血红蛋白值
     */
    double caculateHGB();

    /**
     * 计算平均血红蛋白含量
     */
    double caculateMCH();

    /**
     * 计算平均血红蛋白浓度
     */
    double caculateMCHC();

    /**
     * 计算红细胞数
     */
    double caculateRBCNumber();

    /**
     * 计算白细胞数
     */
    double caculateWBCNUmber();

    /**
     * 计算血小板数
     */
    double caculatePLTNumber();

    /**
     * 计算红细胞压积
     */
    double caculateHCT();

    /**
     * 平均血小板体积
     */
    double caculateMPV();

    /**
     * 计算平均红细胞体积
     */
    double caculateMCV();

    /**
     * 计算血小板的压积
     */
    double caculatePCT();

    /**
     * 添加测量监听器
     *
     * @param onMeansureListener
     */
    void addMeasureListener(MersurePrecentor.OnMeansureListener onMeansureListener);


    /**
     * 测量过程监听
     */
    public interface OnMeansureListener {

        /**
         * 测量结束
         */
        void finishMeasure();

    }
    /**
     * 计算RDWCV的值
     */
    void caculateRDWCV();
    /**
     * 计算PDW的值
     */
    void caculatePDW();
    /**
     * 计算 P-LCR的值
     */
    void caculatePLCR();
    /**
     * 计算RDWSD的值
     */
    void caculateRDWSD();
}
